package com.yidu.hbatsams.service;

import com.yidu.hbatsams.dao.AtsSchemeAthleteMapper;
import com.yidu.hbatsams.domain.*;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.text.ParseException;
import java.util.List;


public interface AtsSchemeServicefx {
    /**
     * 查询所有
     * @param pageSize
     * @param pageNum
     * @param schemeType
     * @return
     */
    List<AtsScheme> findAll(Integer pageSize, Integer pageNum,String schemeType,String schemeName,String stime,String etime,Integer coachId,Integer schemeId,String athleteId,Integer expertId,Integer num,HttpSession session);
    List<AtsSchemeAudit> findAduits(Integer saId);
    /**
     * 分页
     * @param schemeType
     * @return
     */
    int count(String schemeType,String schemeName,String stime,String etime,HttpSession session);
    /**
     *
     * @mbg.generated 2019-10-29
     */
    int deleteByPrimaryKey(Integer schemeId);

    /**
     *
     * @mbg.generated 2019-10-29
     */
    int insert(AtsScheme record);

    /**
     *插入
     * @mbg.generated 2019-10-29
     */
    int insertSelective(AtsScheme record, MultipartFile demore, MultipartFile file2, MultipartFile file3,HttpSession session) throws ParseException;
    int insertResult(AtsScheme record,MultipartFile resultFile,Integer schemeId) throws IOException;
    /**
     * 专家咨询：审核
     * @param expert
     * @param audit
     * @return
     */
    int insertAdvice(AtsSchemeExpert expert,AtsSchemeAudit audit,Integer schemeId);

    /**
     * 专家咨询：重复提交
     * @param expert
     * @param audit
     * @return
     */

    int updateAdvice(AtsSchemeExpert expert, AtsSchemeAudit audit,Integer schemeId);

    /**
     * 修改状态
     * @param schemeId
     * @return
     */
    int updateId(int schemeId);
    /**
     *
     * @mbg.generated 2019-10-29
     */
    AtsScheme selectByPrimaryKey(Integer schemeId);

    /**
     *修改显示
     * @mbg.generated 2019-10-29
     */
    int updateByPrimaryKeySelective(AtsScheme records);

    /**
     * 查询教练表
     * @param coachName
     * @return
     */
    List<AtsEmpCoach> findAllselect(String coachName);
    /**
     * 查询方案对应运动员表
     * @param schemeId
     * @return
     */
    List<AtsSchemeAthlete> selectCheckbox(Integer schemeId);
    AtsScheme findById(Integer schemeId);
    /**
     *
     * @mbg.generated 2019-10-29
     */
    int updateByPrimaryKey(AtsScheme record, MultipartFile demore, MultipartFile file2, MultipartFile file3);

    /**
     * 删除
     * @param schemeId
     * @return
     */
    int deleteCheckbox(Integer schemeId);

    /**
     * 判断是否下载
     * @param schemeId
     * @return
     */
   int updateisRead(Integer schemeId, Integer athleteId, HttpSession session);



    /**
     * 查询复选框所有值
     * @return
     */
   List<AtsEmpAthlete> findAllselects(HttpSession sessiomn) ;

    /**
     * 根据id查询专家表所有
     * @param schemeId
     * @return
     */
  List<AtsSchemeExpert> findExperts(Integer schemeId);

    /**
     *专家：回复
     * @param expert
     * @param audit
     * @param schemeId
     * @return
     */
  int huifuExpert(AtsSchemeExpert expert,AtsSchemeAudit audit,Integer schemeId);

    /**
     * 权限查看：根据id查询专家表
     * @param schemeId
     * @return
     */
    AtsSchemeExpert findByIdChakanExpertQuanxian(Integer schemeId);
    /**
     * 权限查看：根据id查询运动员，运动员查看信息权限
     * @param schemeId
     * @return
     */
    AtsSchemeAthlete findByIdChakanAthleteQuanxian(Integer schemeId);

    /**
     * 创建表格
     * @param userName
     * @param schemeId
     * @param contextPath
     * @return
     */
    XWPFDocument createWord(String userName,String schemeId,String contextPath);
}
